#ifndef SLICE_GENERATOR_H_JM_20120809
#define SLICE_GENERATOR_H_JM_20120809
/** @file SliceGenerator.h
 * Rozhranie generatora rezov spojeni textoveho  modelu vypoctu pre bobox.
 **/
#include "AtomicGenerators.h"
#include <string>
#include <memory>

namespace jm4bbx {
	/**
	 * Rozhranie generatora rezov spojeni textoveho  modelu vypoctu pre bobox.
	 **/
	class SliceGenerator {
	public:
		/**
		 * Vygeneruje textovu podobu vsetkych spojeni naleziacich do tochto 
		 * rezu modelu.
		 **/
		virtual std::string generateBody(ViaIdGenerator& gen) const = 0;
	};

	typedef std::shared_ptr<SliceGenerator> SliceGeneratorPtr;
} // namespace jm4bbx

#endif
